package net.servir.censo.service.impl;

import java.util.LinkedList;
import java.util.List;

import net.servir.censo.dao.ServicioCivilDAO;

//--- jp ---
import net.servir.censo.model.Estudios;
import net.servir.censo.model.MayorGradoAcademico;
import net.servir.censo.model.Snip;
//--- fin ---
import net.servir.censo.model.Ambito;
import net.servir.censo.model.Departamento;
import net.servir.censo.model.Diagnostico;
import net.servir.censo.model.Distrito;
import net.servir.censo.model.Ejecutora;
import net.servir.censo.model.EstadoInscripcion;
import net.servir.censo.model.GenOption;
import net.servir.censo.model.JspResponsableEdicion;
import net.servir.censo.model.NivelGobierno;
import net.servir.censo.model.Persona;
import net.servir.censo.model.Pliego;
import net.servir.censo.model.Profesion;
import net.servir.censo.model.Provincia;
import net.servir.censo.model.Regimen;
import net.servir.censo.model.Responsable;
import net.servir.censo.model.ResponsableBusqueda;
import net.servir.censo.model.Sector;
import net.servir.censo.model.ServicioCivil;
import net.servir.censo.model.ServicioCivilBusqueda;
import net.servir.censo.model.Sistema;
import net.servir.censo.model.TipoDocumento;
import net.servir.censo.model.TipoObservacion;
import net.servir.censo.service.ServicioCivilService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class ServicioCivilServiceImpl implements ServicioCivilService {

	@Autowired
	private ServicioCivilDAO servicioCivilDAO;
	
	
	public LinkedList<Estudios> ObtenerEstudios()
	{
		return servicioCivilDAO.ObtenerEstudios(); 
	}
		
	
	public LinkedList<MayorGradoAcademico> ObtenerMayorGradoAcademico()
	{
		return servicioCivilDAO.ObtenerMayorGradoAcademico(); 
	}
	
	public LinkedList<Snip> ObtenerSnip()
	{
		return servicioCivilDAO.ObtenerSnip(); 
	}
	
	public String ObtenerTituloUniversitario(Number idServicioCivil)
	{
		return servicioCivilDAO.ObtenerTituloUniversitario(idServicioCivil); 
	}
	
	
	public LinkedList<Regimen> ObtenerRegimen()
	{
		return servicioCivilDAO.ObtenerRegimen(); 
	}

	public LinkedList<TipoObservacion> ObtenerTipoObservacion()
	{
		return servicioCivilDAO.ObtenerTipoObservacion();
	}
	
	public LinkedList<Profesion> ObtenerProfesion() 
	{
		return servicioCivilDAO.ObtenerProfesion(); 
	}
	
	public LinkedList<TipoDocumento> ObtenerTipoDocumento()
	{
		return servicioCivilDAO.ObtenerTipoDocumento();
	}
	public List ObtenerFunciones(Number idServicioCivil) 
	{
		return servicioCivilDAO.ObtenerFunciones(idServicioCivil);
	}
	
	public ServicioCivil ObtenerServicioCivil(Number idServicioCivil)
	{
		return servicioCivilDAO.ObtenerServicioCivil(idServicioCivil);
	}
	
	public String AgregarServicioCivil(ServicioCivil obj)
	{
		return servicioCivilDAO.AgregarServicioCivil(obj);
	}
	public String EditarServicioCivil(ServicioCivil obj)
	{
		return servicioCivilDAO.EditarServicioCivil(obj);
	}
	public String AgregarFuncionesSC(Number idServicioCivil, String listaFunciones, Number idAmbito)
	{
		return servicioCivilDAO.AgregarFuncionesSC(idServicioCivil, listaFunciones, idAmbito);
	}
	public String VerificarExisteDNI(String dni, Number idEjecutora)
	{
		return servicioCivilDAO.VerificarExisteDNI(dni, idEjecutora);
	}
	public String VerificarExisteOtroDNI(String dni, Number idEjecutora, Number idServicioCivil)
	{
		return servicioCivilDAO.VerificarExisteOtroDNI(dni, idEjecutora, idServicioCivil);
	}
	public String VerificarExisteOtroCorreo(String correo, Number idEjecutora, Number idServicioCivil)
	{
		return servicioCivilDAO.VerificarExisteOtroCorreo(correo, idEjecutora, idServicioCivil);
	}
	public List ObtenerActividades(Number idFuncion)
	{
		return servicioCivilDAO.ObtenerActividades(idFuncion);
	}
	public String ObtenerDescEtapaFuncion(Number idFuncion)
	{
		return servicioCivilDAO.ObtenerDescEtapaFuncion(idFuncion);
	}
	public LinkedList<NivelGobierno> ObtenerNivelGobiernos()
	{
		return servicioCivilDAO.ObtenerNivelGobiernos();
	}
	public LinkedList<Sistema> ObtenerSistemas()
	{
		return servicioCivilDAO.ObtenerSistemas();
	}
	public LinkedList<EstadoInscripcion> ObtenerEstadoInscripcion()
	{
		return servicioCivilDAO.ObtenerEstadoInscripcion();
	}
	public LinkedList<Ambito> ObtenerAmbito()
	{
		return servicioCivilDAO.ObtenerAmbito();
	}

	public LinkedList<Departamento> ObtenerDepartamentos() {
		return servicioCivilDAO.ObtenerDepartamentos();
	}
	public LinkedList<Distrito> ObtenerDistritos(String coddep, String codpro) {
		return servicioCivilDAO.ObtenerDistritos(coddep, codpro);
	}
	public LinkedList<Provincia> ObtenerProvincias(String coddep) {
		return servicioCivilDAO.ObtenerProvincias(coddep);
	}
	public LinkedList<Ejecutora> ObtenerEjecutoras(Integer idPliego) {
		return servicioCivilDAO.ObtenerEjecutoras(idPliego);
	}
	public LinkedList<Pliego> ObtenerPliegos(Integer idSector) {
		return servicioCivilDAO.ObtenerPliegos(idSector);
	}
	public LinkedList<Sector> ObtenerSectors() {
		return servicioCivilDAO.ObtenerSectors();
	}

	public LinkedList<Ambito> ObtenerAmbito(Number idSistema) {
		return 	servicioCivilDAO.ObtenerAmbito(idSistema);	
	}

	public LinkedList<Sistema> ObtenerSistema() {
		return 	servicioCivilDAO.ObtenerSistema();	
	}

	public List<Diagnostico> ObtenerDiagnosticos()
	{
		return 	servicioCivilDAO.ObtenerDiagnosticos();
	}
	
	
	public List ObtenerRptResponsables(ResponsableBusqueda obj, String estado) {
		return 	servicioCivilDAO.ObtenerRptResponsables(obj, estado);	
	}

	public List ObtenerResponsableBusqueda(ResponsableBusqueda responsableBusqueda, String estadoRegistro) {
		return 	servicioCivilDAO.ObtenerRptResponsables(responsableBusqueda, estadoRegistro);
	}
	public String ObtenerRptQueryResponsables(ResponsableBusqueda obj,
			String estadoRegistro){
		return servicioCivilDAO.ObtenerRptQueryResponsables(obj, estadoRegistro);
	}

	public List ObtenerServicioCivilBusqueda(ServicioCivilBusqueda servicioCivilBusqueda, String estadoRegistro) {
		return 	servicioCivilDAO.ObtenerRptServicioCivil(servicioCivilBusqueda, estadoRegistro);
	}

	public List<Number> ObtenerIdFuncionesSC(Number idServicioCivil){
		return servicioCivilDAO.ObtenerIdFuncionesSC(idServicioCivil);
	}

	public LinkedList<Profesion> ObtenerProfesions() {
		return 	servicioCivilDAO.ObtenerProfesion();
	}

	public LinkedList<Regimen> ObtenerRegimens() {
		return 	servicioCivilDAO.ObtenerRegimen();	}

	public ResponsableBusqueda ObtenerResponsable(Integer idResponsable) {
		return 	servicioCivilDAO.ObtenerResponsable(idResponsable);	
	}

	public void grabarResponsable(JspResponsableEdicion obj) {
		servicioCivilDAO.grabarResponsable(obj);	
		
	}

	public Integer grabarNuevoResponsable(JspResponsableEdicion obj)
	{
		return servicioCivilDAO.grabarNuevoResponsable(obj);	
	}
	
	public LinkedList<Ejecutora> ObtenerEjecutoras() {
		return servicioCivilDAO.ObtenerEjecutoras();
	}

	public LinkedList<Ejecutora> ObtenerEjecutorasNivelGobierno(
			Integer idNivelGobierno,String ubigeo) {
		return servicioCivilDAO.ObtenerEjecutorasNivelGobierno(idNivelGobierno,ubigeo);
	}

	public void grabarValidacion(ServicioCivil obj) {
		servicioCivilDAO.grabarValidacion(obj);		
	}
	
	public void grabarValidacion(Persona persona)
	{
		servicioCivilDAO.grabarValidacion(persona);		
	}
	
	public void grabarObservacion(ServicioCivil obj)
	{
		servicioCivilDAO.grabarObservacion(obj);				
	}
	public void grabarSubsanacion(ServicioCivil obj)
	{
		servicioCivilDAO.grabarSubsanacion(obj);				
	}
	public void grabarHabilitacion(JspResponsableEdicion obj) {
		servicioCivilDAO.grabarHabilitacion(obj);		
	}

	public Responsable GetResponsable(Number idResponsable){
		return servicioCivilDAO.GetResponsable(idResponsable);	
	}
	
	public Diagnostico GetDiagnostico(Number idDiagnostico)
	{ 
		return servicioCivilDAO.GetDiagnostico(idDiagnostico);
	}
	
	public Persona GetPersona(Responsable responsable){
		return servicioCivilDAO.GetPersona(responsable);
	}
	
	public Responsable GetResponsablePorDNI(String dni){
		return servicioCivilDAO.GetResponsablePorDNI(dni);
	}
	
	public void EliminarServicioCivil(ServicioCivil obj)
	{
		servicioCivilDAO.EliminarServicioCivil(obj);
	}

	public void EliminarParticipante(JspResponsableEdicion obj) {
		servicioCivilDAO.EliminarParticipante(obj);
		
	}

	public LinkedList<GenOption> ObtenerEstadosInscritos() {
		return servicioCivilDAO.ObtenerEstadosInscritos();
	}

	public LinkedList<GenOption> ObtenerEstadosPlazo() {
		return servicioCivilDAO.ObtenerEstadosPlazo();
	}

	public LinkedList<GenOption> ObtenerEstadosResponsable() {
		return servicioCivilDAO.ObtenerEstadosResponsable();
	}

	public ServicioCivil ObtenerServicioCivilPorDNI(String dni, Number idPersona) {
		return servicioCivilDAO.ObtenerServicioCivilPorDNI(dni, idPersona);
	}

	public Responsable GetResponsablePorEjecutora(Number idEjecutora) {
		return servicioCivilDAO.GetResponsablePorEjecutora(idEjecutora);
	}

	public String recuperarClave(String dni, Integer idSistema) {
		return servicioCivilDAO.ObtenerClave(dni, idSistema);
	}	
	//juank
	public String ObtenerRptQueryServicioCivil(ServicioCivilBusqueda obj,String estadoRegistro){
		return servicioCivilDAO.ObtenerRptQueryServicioCivil(obj, estadoRegistro);
	}
}
